package com.atguigu.exam.service;

import com.atguigu.exam.entity.Notice;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface NoticeService extends IService<Notice> {
    /**
     * 获取全部的通知
     *
     * @return
     */
    List<Notice> getAllNotices();

    /**
     * 获取启用的通知
     *
     * @return
     */
    List<Notice> getActiveNotices();

    /**
     * 获取最近的通知
     *
     * @return
     */
    List<Notice> getLatestNotices(Integer limit);

    /**
     * 添加通知
     *
     * @param notice
     */
    Boolean addNotice(Notice notice);

    /**
     * 更新通知
     *
     * @param notice
     * @return
     */
    Boolean updateNotice(Notice notice);

    /**
     * 切换公告状态
     *
     * @param id
     * @param isActive
     * @return
     */
    Boolean toggleNoticeStatus(Long id, Boolean isActive);

    /**
     * 删除公告
     *
     * @param id
     * @return
     */
    Boolean deleteById(Long id);

}
